%%
%% %CopyrightBegin%
%%
%% Copyright Hillside Technology Ltd. 2016. All Rights Reserved.
%%
%% Licensed under the Apache License, Version 2.0 (the "License");
%% you may not use this file except in compliance with the License.
%% You may obtain a copy of the License at
%%
%%     http://www.apache.org/licenses/LICENSE-2.0
%%
%% Unless required by applicable law or agreed to in writing, software
%% distributed under the License is distributed on an "AS IS" BASIS,
%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
%% See the License for the specific language governing permissions and
%% limitations under the License.
%%
%% %CopyrightEnd%
%%

%% HRL file generated by ERLSOM
%%
%% It is possible (and in some cases necessary) to change the name of
%% the record fields.
%%
%% It is possible to add default values, but be aware that these will
%% only be used when *writing* an xml document.


-type anyAttrib()  :: {{string(),    %% name of the attribute
                        string()},   %% namespace
                       string()}.    %% value

-type anyAttribs() :: [anyAttrib()] | undefined.

%% xsd:QName values are translated to #qname{} records.
-record(qname, {uri :: string(),
                localPart :: string(),
                prefix :: string(),
                mappedPrefix :: string()}).



-record('ExtensionElement', {anyAttribs :: anyAttribs(),
	required :: boolean() | undefined}).

-type 'ExtensionElement'() :: #'ExtensionElement'{}.


-record(endpoint, {anyAttribs :: anyAttribs(),
	name :: string(),
	binding :: #qname{},
	address :: string() | undefined,
	documentation :: documentation() | undefined,
	'#any' :: any()}).

-type endpoint() :: #endpoint{}.


-record(service, {anyAttribs :: anyAttribs(),
	name :: string(),
	interface :: #qname{},
	documentation :: documentation() | undefined,
	choice :: [any()]}).

-type service() :: #service{}.


-record(bindingFault, {anyAttribs :: anyAttribs(),
	ref :: #qname{},
	documentation :: documentation() | undefined,
	'#any' :: any()}).

-type bindingFault() :: #bindingFault{}.


-record(bindingOperationFault, {anyAttribs :: anyAttribs(),
	ref :: #qname{},
	messageLabel :: string() | undefined,
	documentation :: documentation() | undefined,
	'#any' :: any()}).

-type bindingOperationFault() :: #bindingOperationFault{}.


-record(bindingOperationMessage, {anyAttribs :: anyAttribs(),
	messageLabel :: string() | undefined,
	documentation :: documentation() | undefined,
	'#any' :: any()}).

-type bindingOperationMessage() :: #bindingOperationMessage{}.


-record('bindingOperation-input', {anyAttribs :: anyAttribs(),
	messageLabel :: string() | undefined,
	documentation :: documentation() | undefined,
	'#any' :: any()}).

-type 'bindingOperation-input'() :: #'bindingOperation-input'{}.


-record('bindingOperation-output', {anyAttribs :: anyAttribs(),
	messageLabel :: string() | undefined,
	documentation :: documentation() | undefined,
	'#any' :: any()}).

-type 'bindingOperation-output'() :: #'bindingOperation-output'{}.


-record('bindingOperation-infault', {anyAttribs :: anyAttribs(),
	ref :: #qname{},
	messageLabel :: string() | undefined,
	documentation :: documentation() | undefined,
	'#any' :: any()}).

-type 'bindingOperation-infault'() :: #'bindingOperation-infault'{}.


-record('bindingOperation-outfault', {anyAttribs :: anyAttribs(),
	ref :: #qname{},
	messageLabel :: string() | undefined,
	documentation :: documentation() | undefined,
	'#any' :: any()}).

-type 'bindingOperation-outfault'() :: #'bindingOperation-outfault'{}.


-record(bindingOperation, {anyAttribs :: anyAttribs(),
	location :: string() | undefined,
	ref :: #qname{},
	documentation :: documentation() | undefined,
	choice :: [any()] | undefined}).

-type bindingOperation() :: #bindingOperation{}.


-record(binding, {anyAttribs :: anyAttribs(),
	location :: string() | undefined,
	name :: string(),
	type :: string(),
	interface :: #qname{},
	documentation :: documentation() | undefined,
	choice :: [any()] | undefined}).

-type binding() :: #binding{}.


-record(interfaceFault, {anyAttribs :: anyAttribs(),
	name :: string(),
	element :: string() | undefined,
	documentation :: documentation() | undefined,
	'#any' :: any()}).

-type interfaceFault() :: #interfaceFault{}.


-record(messageRefFault, {anyAttribs :: anyAttribs(),
	ref :: #qname{},
	messageLabel :: string() | undefined,
	documentation :: documentation() | undefined,
	'#any' :: any()}).

-type messageRefFault() :: #messageRefFault{}.


-record(messageRef, {anyAttribs :: anyAttribs(),
	messageLabel :: string() | undefined,
	element :: string() | undefined,
	documentation :: documentation() | undefined,
	'#any' :: any()}).

-type messageRef() :: #messageRef{}.


-record('interfaceOperation-input', {anyAttribs :: anyAttribs(),
	messageLabel :: string() | undefined,
	element :: #qname{} | undefined,
	documentation :: documentation() | undefined,
	'#any' :: any()}).

-type 'interfaceOperation-input'() :: #'interfaceOperation-input'{}.


-record('interfaceOperation-output', {anyAttribs :: anyAttribs(),
	messageLabel :: string() | undefined,
	element :: #qname{} | undefined,
	documentation :: documentation() | undefined,
	'#any' :: any()}).

-type 'interfaceOperation-output'() :: #'interfaceOperation-output'{}.


-record('interfaceOperation-infault', {anyAttribs :: anyAttribs(),
	ref :: #qname{},
	messageLabel :: string() | undefined,
	documentation :: documentation() | undefined,
	'#any' :: any()}).

-type 'interfaceOperation-infault'() :: #'interfaceOperation-infault'{}.


-record('interfaceOperation-outfault', {anyAttribs :: anyAttribs(),
	ref :: #qname{},
	messageLabel :: string() | undefined,
	documentation :: documentation() | undefined,
	'#any' :: any()}).

-type 'interfaceOperation-outfault'() :: #'interfaceOperation-outfault'{}.


-record(interfaceOperation, {anyAttribs :: anyAttribs(),
	name :: string(),
	pattern :: string() | undefined,
	safe :: boolean() | undefined,
	style :: string() | undefined,
	documentation :: documentation() | undefined,
	choice :: [any()] | undefined}).

-type interfaceOperation() :: #interfaceOperation{}.


-record(wsdl_interface, {anyAttribs :: anyAttribs(),
	name :: string(),
	extends :: string() | undefined,
	styleDefault :: string() | undefined,
	documentation :: documentation() | undefined,
	choice :: [any()] | undefined}).

-type wsdl_interface() :: #wsdl_interface{}.


-record(types, {anyAttribs :: anyAttribs(),
	location :: string() | undefined,
	documentation :: documentation() | undefined,
	'#any' :: any()}).

-type types() :: #types{}.


-record(include, {anyAttribs :: anyAttribs(),
	location :: string() | undefined,
	documentation :: documentation() | undefined,
	'#any' :: any()}).

-type include() :: #include{}.


-record(import, {anyAttribs :: anyAttribs(),
	namespace :: string(),
	location :: string() | undefined,
	documentation :: documentation() | undefined,
	'#any' :: any()}).

-type import() :: #import{}.


-record(description, {anyAttribs :: anyAttribs(),
	name :: string() | undefined,
	targetNamespace :: string(),
	documentation :: documentation() | undefined,
	import :: [import()] | undefined,
	include :: [include()] | undefined,
	types :: types() | undefined,
	interface :: [wsdl_interface()] | undefined,
	binding :: [binding()] | undefined,
	service :: [service()] | undefined}).

-type description() :: #description{}.


-record(documentation, {anyAttribs :: anyAttribs(),
	'#any' :: [any() | string()]}).

-type documentation() :: #documentation{}.
